diff options
| author | Adam Soltys <[email protected]> | 2023-11-15 23:02:29 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-11-15 23:02:29 -0800 |
| commit | b466b3d39c3b9ec792ef924c7f4750fb70b6a016 (patch) | |
| tree | 9f0071056f7f53129e1eb81a1bca268300d41a05 /src/routes/(app)/[username] | |
| parent | 6d8eb8a609ebb6c1781c463a837bf9e19a6d3d4b (diff) | |
| download | coinos-ui-b466b3d39c3b9ec792ef924c7f4750fb70b6a016.tar.gz coinos-ui-b466b3d39c3b9ec792ef924c7f4750fb70b6a016.zip | |
prefill register page
Diffstat (limited to 'src/routes/(app)/[username]')
6 files changed, 55 insertions, 29 deletions
diff --git a/src/routes/(app)/[username]/(profile)/+layout.svelte b/src/routes/(app)/[username]/(profile)/+layout.svelte index 1b99c4b4..bd2bf0d3 100644 --- a/src/routes/(app)/[username]/(profile)/+layout.svelte +++ b/src/routes/(app)/[username]/(profile)/+layout.svelte @@ -61,58 +61,66 @@ <div class="container mx-auto w-full px-4 mb-4 flex flex-wrap lg:flex-nowrap space-y-5"> <div class="hidden lg:block lg:w-[300px]" /> <div class="lg:w-[300px] lg:absolute space-y-5 left-20 mx-auto max-w-md"> - <div - class="flex text-3xl font-bold text-center mx-auto justify-center gap-2" - on:click={toggleDetails} - > + <div class="flex text-3xl font-bold text-center mx-auto justify-center gap-2"> <div class="my-auto">{display || username}</div> - <Icon icon="stats" style="w-12 rounded cursor-pointer" /> + <button on:click={toggleDetails}> + <Icon icon="stats" style="w-12" /> + </button> </div> {#if showDetails} <div> - <div class="font-bold">{$t('user.profilePage')}</div> + <div class="font-bold">{$t('user.profilePage')}</div> <div class="flex gap-2"> <div class="break-all grow text-secondary text-lg"> {profile} </div> <div class="flex mb-auto gap-1"> - <button class="my-auto opacity-60 hover:opacity-100" on:click={() => copy(profile)} + <button class="my-auto" on:click={() => copy(profile)} ><Icon icon="copy" style="max-w-max min-w-[32px]" /></button > - <a href={`/qr/${encodeURIComponent(profile)}`} class="my-auto opacity-60 hover:opacity-100"> + <a + href={`/qr/${encodeURIComponent(profile)}`} + class="my-auto" + > <Icon icon="qr" style="invert max-w-max min-w-[32px]" /> </a> </div> </div> </div> <div> - <div class="font-bold">{$t('user.lightningAddress')}</div> + <div class="font-bold">{$t('user.lightningAddress')}</div> <div class="flex gap-2"> <div class="break-all grow text-secondary text-lg"> {lnaddr} </div> <div class="flex mb-auto gap-1"> - <button class="my-auto opacity-60 hover:opacity-100" on:click={() => copy(lnaddr)} + <button class="my-auto" on:click={() => copy(lnaddr)} ><Icon icon="copy" style="max-w-max min-w-[32px]" /></button > - <a href={`/qr/${encodeURIComponent(lnaddr)}`} class="my-auto opacity-60 hover:opacity-100"> + <a + href={`/qr/${encodeURIComponent(lnaddr)}`} + class="my-auto" + > <Icon icon="qr" style="invert max-w-max min-w-[32px]" /> </a> </div> </div> </div> <div> - <div class="font-bold">{$t('user.nostrPubkey')}</div> + <div class="font-bold">{$t('user.nostrPubkey')}</div> <div class="flex gap-2"> <div class="break-all grow text-secondary text-lg"> {npub} </div> <div class="flex my-auto gap-1"> - <button class="my-auto opacity-60 hover:opacity-100" on:click={() => copy(npub)} + <button class="my-auto" on:click={() => copy(npub)} ><Icon icon="copy" style="max-w-max min-w-[32px]" /></button > - <a href={`/qr/${encodeURIComponent(npub)}`} class="my-auto opacity-60 hover:opacity-100"> + <a + href={`/qr/${encodeURIComponent(npub)}`} + class="my-auto" + > <Icon icon="qr" style="invert max-w-max min-w-[32px]" /> </a> </div> diff --git a/src/routes/(app)/[username]/(profile)/+page.svelte b/src/routes/(app)/[username]/(profile)/+page.svelte index e3150ff2..42cf9527 100644 --- a/src/routes/(app)/[username]/(profile)/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/+page.svelte @@ -96,20 +96,20 @@ <div class="flex flex-wrap gap-4 justify-center w-full"> <a href={`/${user.username}/receive`} class="w-full md:w-60"> <button - class="rounded-full border py-3 px-6 font-bold hover:opacity-80 flex w-full" + class="rounded-full border py-3 px-6 font-bold hover:opacity-80 flex w-full bg-black text-white" > <div class="mx-auto flex"> - <Icon icon="numpad" style="my-auto h-6 mr-2" /> + <Icon icon="numpad" style="my-auto h-6 mr-2 invert" /> <div class="my-auto mt-1">{$t('user.dashboard.receive')}</div> </div> </button> </a> <a href={`/send`} class="w-full md:w-60"> <button - class="rounded-full border py-3 px-6 font-bold hover:opacity-80 flex w-full" + class="rounded-full border py-3 px-6 font-bold hover:opacity-80 flex w-full bg-black text-white" > <div class="mx-auto flex"> - <Icon icon="send" style="my-auto h-6 mr-2" /> + <Icon icon="send" style="my-auto h-6 mr-2 invert" /> <div class="my-auto mt-1">{$t('user.dashboard.send')}</div> </div> </button> diff --git a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte index 762e836e..087c9450 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte @@ -68,13 +68,31 @@ } if ($avatar) { - await upload($avatar.file, $avatar.type, $avatar.progress, token); - await fetch(`/api/public/${id}-profile.webp`, { cache: 'reload', mode: 'no-cors' }); + try { + let { hash } = JSON.parse( + await upload($avatar.file, $avatar.type, $avatar.progress, token) + ); + + data.set('profile', hash); + + await fetch(`/api/public/${hash}.webp`, { cache: 'reload', mode: 'no-cors' }); + } catch (e) { + console.log('problem uploading avatar', e); + } } if ($banner) { - await upload($banner.file, $banner.type, $banner.progress, token); - await fetch(`/api/public/${id}-banner.webp`, { cache: 'reload', mode: 'no-cors' }); + try { + let { hash } = JSON.parse( + await upload($banner.file, $banner.type, $banner.progress, token) + ); + + data.set('banner', hash); + + await fetch(`/api/public/${hash}.webp`, { cache: 'reload', mode: 'no-cors' }); + } catch (e) { + console.log('problem uploading banner', e); + } } let event = { @@ -84,7 +102,7 @@ content: JSON.stringify({ name: user.username, about: user.address, - picture: `${PUBLIC_COINOS_URL}/public/${user.id}-profile.webp` + picture: `${PUBLIC_COINOS_URL}/public/${user.profile}.webp` }), tags: [] }; diff --git a/src/routes/(app)/[username]/settings/[...tab]/_account.svelte b/src/routes/(app)/[username]/settings/[...tab]/_account.svelte index 26c327c0..15d286c8 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/_account.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/_account.svelte @@ -5,7 +5,7 @@ import { t } from '$lib/translations'; import { page } from '$app/stores'; - export let user; + export let user, rates, submit; let { id } = user; let selectedTheme = 1; @@ -95,7 +95,7 @@ on:keydown={selectAvatar} > <img - src={$avatar?.src || `/api/public/${user.id}-profile.webp`} + src={$avatar?.src || `/api/public/${user.profile}.webp`} class="absolute w-full h-full object-cover object-center visible overflow-hidden" alt={user.username} /> @@ -138,7 +138,7 @@ {#if $banner || user.banner} <img - src={$banner ? $banner.src : `/api/public/${user.id}-banner.webp`} + src={$banner ? $banner.src : `/api/public/${user.banner}.webp`} class="w-full object-cover object-center visible overflow-hidden h-48 mb-4 hover:opacity-80" on:click={selectBanner} on:keydown={selectBanner} diff --git a/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte b/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte index 057d8c20..a96528a0 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte @@ -4,7 +4,7 @@ import { success, fail } from '$lib/utils'; import { page } from '$app/stores'; - export let user, rates; + export let user, rates, submit; let fiats = Object.keys(rates); </script> @@ -25,7 +25,7 @@ <div> <div class="flex justify-between items-center"> <span class="font-bold">{$t('user.settings.tipPrompt')}</span> - <Toggle id="prompt" checked={user.prompt} bind:value={user.prompt} /> + <Toggle id="prompt" bind:value={user.prompt} /> </div> <p class="text-secondary mt-1 w-9/12"> {$t('user.settings.tipPromptDescription')} diff --git a/src/routes/(app)/[username]/settings/[...tab]/_security.svelte b/src/routes/(app)/[username]/settings/[...tab]/_security.svelte index 85f461ad..170df744 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/_security.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/_security.svelte @@ -8,7 +8,7 @@ import { invalidate } from '$app/navigation'; import { page } from '$app/stores'; - export let user, submit; + export let user, rates, submit; let confirming2fa, disabling2fa, |
